package com.ruoyi.fly.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
import java.sql.Timestamp;

@Data
@NoArgsConstructor
@ToString(callSuper = true)
@Accessors(chain = true)
@ApiModel(value = "AppletProductOrder", description = "产品订单表")
@AllArgsConstructor
public class AppletProductOrder extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 产品订单表
     */
    @ApiModelProperty(value = "产品订单主键id")
    private String id;

    /**
     * 用户id
     */
    @ApiModelProperty(value = "用户id")
    @Excel(name = "用户id")
    private String mid;

    /**
     * 产品id
     */
    @ApiModelProperty(value = "产品id")
    @Excel(name = "产品id")
    private String productId;

    /**
     * 所患疾病
     */
    @ApiModelProperty(value = "所患疾病")
    @Excel(name = "所患疾病")
    private String diseasesSuffered;

    /**
     * 患病时间
     */
    @ApiModelProperty(value = "患病时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "患病时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Timestamp illnessTime;

    /**
     * 支付方式1.微信支付  2.余额支付
     */
    @ApiModelProperty(value = "支付方式1.微信支付  2.余额支付")
    @Excel(name = "支付方式1.微信支付  2.余额支付")
    private Long payChannel;

    /**
     * 支付状态:1.未支付 2.已支付 3.已取消
     */
    @ApiModelProperty(value = "支付状态:1.未支付 2.已支付 3.已取消")
    @Excel(name = "支付状态:1.未支付 2.已支付 3.已取消")
    private Long payStatus;

    /**
     * 产品订单状态 1.待选择 2.待收货 3.已收货 4.已评论
     */
    @ApiModelProperty(value = "产品订单状态 1.待选择 2.待收货 3.已收货 4.已评论")
    @Excel(name = "产品订单状态 1.待选择 2.待收货 3.已收货 4.已评论")
    private Long productStatus;

    /**
     * 配送方式 1.门店取货 2.车辆取货 3.快递配送
     */
    @ApiModelProperty(value = "配送方式 1.门店取货 2.车辆取货 3.快递配送")
    @Excel(name = "配送方式 1.门店取货 2.车辆取货 3.快递配送")
    private Long deliveryMethod;

    /**
     * 地址id 用户的地址信息(ceres_member_address )
     */
    @ApiModelProperty(value = "地址id 用户的地址信息")
    @Excel(name = "地址id 用户的地址信息(ceres_member_address )")
    private Long addressId;

    /**
     * 选择快递配送保存快递单号
     */
    @ApiModelProperty(value = "选择快递配送保存快递单号")
    @Excel(name = "选择快递配送保存快递单号")
    private String expressNo;

    /**
     * 快递发货时间
     */
    @ApiModelProperty(value = "快递发货时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "快递发货时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Timestamp deliveryTime;

    /**
     * 店铺id
     */
    @ApiModelProperty(value = "店铺id")
    @Excel(name = "店铺id")
    private String storeId;

    /**
     * 理疗车id
     */
    @ApiModelProperty(value = "理疗车id")
    @Excel(name = "理疗车id")
    private String vehiclesId;

    /**
     * 订单码
     */
    @ApiModelProperty(value = "订单码")
    @Excel(name = "订单码")
    private String orderCode;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    @Excel(name = "备注")
    private String orderRamark;

    /**
     * 总金额
     */
    @ApiModelProperty(value = "总金额")
    @Excel(name = "总金额")
    private BigDecimal costs;

    /**
     * 付款时间
     */
    @ApiModelProperty(value = "付款时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "付款时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Timestamp payTime;

    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人")
    @Excel(name = "创建人")
    private String createUser;

    /**
     * 最后修改人
     */
    @ApiModelProperty(value = "最后修改人")
    @Excel(name = "最后修改人")
    private String updateUser;

    /**
     * 逻辑删除 1-删除 0-未删除
     */
    @ApiModelProperty(value = "逻辑删除 1-删除 0-未删除")
    @Excel(name = "逻辑删除 1-删除 0-未删除")
    private Long isDelete;

    /**
     * 预支付id
     */
    @ApiModelProperty(value = "预支付id")
    @Excel(name = "预支付id")
    private String prepayId;

    /**
     * 支付单号
     */
    @ApiModelProperty(value = "支付单号")
    @Excel(name = "支付单号")
    private String payNum;


}
